There are many different software programs which can be used in conjunction with computers and other electronic devices to translate written languages. Such applications usually take original text in one language and perform a simple matching algorithm to produce text in another language, which hopefully has the same general meaning as the original text.
Prior art software translation applications utilize language translation that is literal, without considering the translation in context with the intended function in the target application. This approach can lead to comprehension difficulties for users of the software, including users of multi-lingual programs, i.e., computer programs which can provide a user interface having text elements (strings) in more than one language.
For example, a user interface may use the same word in two different components or parts of the program application, e.g., in English, but when the strings in the user interface are translated to another language, e.g., Chinese, there might be two different words that would correspond to the single English word depending upon the particular usage within the application. Thus, regardless of which of the Chinese words is selected for the literal translation, one of the uses will always be somewhat inaccurate. The use of simplistic, literal translation accordingly requires significant additional training for foreign users of the program application in order to properly understand operation of the application.
It would, therefore, be desirable to devise an improved method of translating text in a software program which could provide translations that more accurately reflect the intended meaning. It would be further advantageous if the method could allow users of multi-lingual software to gain a better understanding of strings they are translating, and how the user interface will be affected by changes in language.